package br.gov.sjc.utils;

import br.gov.sjc.export.SincronizarDados;
import br.gov.sjc.export.exportarDados;

import br.gov.sjc.dao.BaseDAO;
import br.gov.sjc.dao.DadosPessoaisDAO;
import br.gov.sjc.dao.DocumentosDAO;
import br.gov.sjc.dao.EnderecoDAO;
import br.gov.sjc.dao.EscolaridadeDAO;
import br.gov.sjc.dao.GrupoFamiliarDAO;
import br.gov.sjc.dao.LocalizadoDAO;
import br.gov.sjc.dao.NomeDAO;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;


/**
 * @author rodrigo.ramos
 *
 */
public class DestroiDatabase {
	
	private SQLiteDatabase database;
	private String TAG = "DestroiDatabase";
	
	
	public DestroiDatabase(Context context){
		database = SincronizarDados.BancoDados;
		Log.v("SocialAlimenta", "MainTest - main()- Abriu o BD");

		if (database.isOpen()){
			
		
		/**
		 * Dropando e recriando as tabelas
		 * TRABALHO E TRABALHOOFR
		 * esse feito corretamente: 
		 */
		BaseDAO bdao = new BaseDAO(context);
		if (bdao.recreateTable(database)){
			Log.i(TAG, "BaseDAO criado corretamente");
		}
		bdao.close();
		/**
		 * Dropando e recriando as tabelas
		 * DADOSPESSOAIS
		 */
		DadosPessoaisDAO dpdao = new DadosPessoaisDAO(context);
		if (dpdao.recreateTable(database)){
			Log.i(TAG, "DadosPessoaisDAO criado corretamente");
		}
		dpdao.close();
		
		/**
		 * Dropando e recriando as tabelas
		 * DOCUMENTOS
		 */
		DocumentosDAO ddao = new DocumentosDAO(context);
		if (ddao.recreateTable(database)){
			Log.i(TAG, "DocumentosDAO criado corretamente");
		}
		ddao.close();
		
		/**
		 * Dropando e recriando as tabelas
		 * Endereco
		 */
		EnderecoDAO edao = new EnderecoDAO(context);
		if (edao.recreateTable(database)){
			Log.i(TAG, "EnderecoDAO criado corretamente");
		}
		edao.close();
		
		/**
		 * Dropando e recriando as tabelas
		 * Escolaridade
		 */
		EscolaridadeDAO esdao = new EscolaridadeDAO(context);
		if (esdao.recreateTable(database)){
			Log.i(TAG, "EscolaridadeDAO criado corretamente");
		}
		esdao.close();
		
		/**
		 * Dropando e recriando as tabelas
		 * Escolaridade
		 */
		GrupoFamiliarDAO gdao = new GrupoFamiliarDAO(context);
		if (gdao.recreateTable(database)){
			Log.i(TAG, "GrupoFamiliarDAO criado corretamente");
		}
		gdao.close();
		
		/**
		 * Dropando e recriando as tabelas
		 * Nome
		 */
		NomeDAO ndao = new NomeDAO(context);
		if (ndao.recreateTable(database)){
			Log.i(TAG, "NomeDAO criado corretamente");
		}
		ndao.close();
		
		
		/**
		 * Dropando e recriando as tabelas
		 * LocalizadoDAO
		 */
		LocalizadoDAO ldao = new LocalizadoDAO(context);
		if (ldao.recreateTable(database)){
			Log.i(TAG, "LocalizadoDAO criado corretamente");
		}
		ldao.close();
		
		
		Log.i(TAG, "Criou todas as base de dados");
		
		}else{
			Log.e(TAG, "database closed");
		}
	}
	

	
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "DestroiDatabase [database=" + database + ", TAG=" + TAG
				+ ", getClass()=" + getClass() + ", hashCode()=" + hashCode()
				+ ", toString()=" + super.toString() + "]";
	}
}
